From 1339c425a8c9bbb33db45dac7c2d5c95c9f9c867 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Timm=20B=C3=A4der?= Date: Wed, 28 Aug 2019 14:24:50 +0200 Subject: [PATCH] widget: Queue an allocate on native widgets when changing opacity This way the opacity change works on toplevel windows on wayland. --- gtk/gtkwidget.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 9dcfd581d5..9d33ffdb66 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -11287,9 +11287,14 @@ gtk_widget_update_alpha (GtkWidget *widget) if (_gtk_widget_get_realized (widget)) { if (GTK_IS_NATIVE (widget)) - gdk_surface_set_opacity (priv->surface, priv->alpha / 255.0); - - gtk_widget_queue_draw (widget); + { + gdk_surface_set_opacity (priv->surface, priv->alpha / 255.0); + gtk_widget_queue_allocate (widget); + } + else + { + gtk_widget_queue_draw (widget); + } } } -- 2.30.2